Handheld controllers for artificial reality and related methods

ABSTRACT

The disclosed handheld controllers may include a multi-degree of freedom sensor module, a mouse module, and a switch. The mouse module may include a mouse sensor and a proximity sensor. The switch may be configured to activate the mouse sensor and deactivate the multi-degree of freedom sensor module when the proximity sensor indicates that the mouse sensor is proximate to a physical surface and to deactivate the mouse sensor and activate the multi-degree of freedom sensor when the proximity sensor indicates that the mouse sensor is not proximate to the physical surface. Various other related methods, systems, and devices are also disclosed.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate a number of example embodiments andare a part of the specification. Together with the followingdescription, these drawings demonstrate and explain various principlesof the present disclosure.

FIG. 1 is a perspective view of a handheld controller according to atleast one embodiment of the present disclosure.

FIG. 2 is a side view of a handheld controller according to at least oneadditional embodiment of the present disclosure.

FIG. 3 is a perspective view of a handheld controller being held by auser's hand, according to at least one embodiment of the presentdisclosure.

FIG. 4 is a representation of a space in which a handheld controller isbeing used by a user in a three-dimensional computing environment,according to at least one embodiment of the present disclosure.

FIG. 5 is a representation of a space in which a handheld controller isbeing used by a user in a two-dimensional computing environment,according to at least one embodiment of the present disclosure.

FIG. 6 is a flow diagram illustrating a method of receiving user inputsin a computer environment, according to at least one embodiment of thepresent disclosure.

FIG. 7 is an illustration of an example artificial-reality headband thatmay be used in connection with embodiments of this disclosure.

FIG. 8 is an illustration of example augmented-reality glasses that maybe used in connection with embodiments of this disclosure.

FIG. 9 is an illustration of an example virtual-reality headset that maybe used in connection with embodiments of this disclosure.

FIG. 10 is an illustration of example haptic devices that may be used inconnection with embodiments of this disclosure.

FIG. 11 is an illustration of an example virtual-reality environmentaccording to embodiments of this disclosure.

FIG. 12 is an illustration of an example augmented-reality environmentaccording to embodiments of this disclosure.

Throughout the drawings, identical reference characters and descriptionsindicate similar, but not necessarily identical, elements. While theexample embodiments described herein are susceptible to variousmodifications and alternative forms, specific embodiments have beenshown by way of example in the drawings and will be described in detailherein. However, the example embodiments described herein are notintended to be limited to the particular forms disclosed. Rather, thepresent disclosure covers all modifications, equivalents, andalternatives falling within the scope of the appended claims.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

Artificial-reality systems, such as virtual-reality systems oraugmented-reality systems, typically display computer-generated content(often via a head-mounted display (“HMD”)) to users in order to createimmersive experiences. For example, a virtual-reality system may createthree-dimensional (“3D”) renderings to simulate an environment or avirtual space. Alternatively, augmented-reality systems may mergecomputer-generated content with a user's view of a real-worldenvironment to enhance interactions with the real-world environment.These systems may provide users with the ability to navigate and alterdigital content that may provide helpful information about real-worldobjects.

Some artificial-reality systems are operated with a processor of aconventional two-dimensional (“2D”) computing environment (e.g., acorresponding personal computer or server). Additionally, someartificial-reality systems include software applications for use in a 2Dcomputing environment, such as a productivity environment (e.g., forword processing, emailing, viewing 2D videos and pictures, etc.). Usersof such systems may switch between using the systems to access 3D and 2Dcontent. Often, a handheld controller for a 3D computing environment isgrasped and used in space, and a different controller (e.g., a typicalcomputer mouse) is used in a 2D computing environment.

The present disclosure is generally directed to a handheld controllerfor artificial reality that includes a mouse module. As will beexplained in greater detail below, embodiments of the present disclosuremay include a mouse module that has a proximity sensor, so that when themouse module is placed against a surface (e.g., a table), operation ofthe controller automatically switches to a mouse mode. In the mousemode, one or more controller buttons may be used for left-click andright-click. When the controller is lifted from the surface, operationautomatically switches back to a multi-degree of freedom (“multi-DOF”)mode as in a typical artificial-reality controller. The mouse module maybe ergonomically positioned on the controller to reduce or eliminateinterference with operation in the multi-DOF mode, while also enablingcomfortable use as a computer mouse. The mouse module may also enablefine controls for productivity environments in an artificial-realitysystem, with intuitive and automatic switching between the multi-DOFmode and mouse mode.

Features from any of the embodiments described herein may be used incombination with one another in accordance with the general principlesdescribed herein. These and other embodiments, features, and advantageswill be more fully understood upon reading the following detaileddescription in conjunction with the accompanying drawings and claims.

The following will provide, with reference to FIGS. 1-3, detaileddescriptions of various example handheld controllers according to thepresent disclosure. With reference to FIGS. 4 and 5, detaileddescriptions of spaces in which a user may use handheld controllers in a3D computer environment and in a 2D computer environment, respectively,will be provided. With reference to FIG. 6, detailed descriptions of anexample method of receiving user inputs in a computer environmentaccording to the present disclosure will be provided. With reference toFIGS. 7-12, detailed descriptions of various example artificial-realitydevices, systems, and environments with which the handheld controllersof the present disclosure may be used will be provided.

FIG. 1 is a perspective view of a handheld controller 100 according toat least one embodiment of the present disclosure. The handheldcontroller 100 may include a controller body 102 from which a handle 104and a surrounding ring portion 106 may extend. As shown in FIG. 1, thesurrounding ring portion 106 may, for example, extend from a side of thecontroller body 102 to be positioned over the input buttons 112 andinput thumbstick 114. The handheld controller 100 may also include amulti-DOF sensor module 108 configured to enable the handheld controller100 to be utilized and operated in 3D space, such as for use in anartificial-reality (e.g., virtual-reality, augmented-reality,mixed-reality, hybrid-reality) environment.

The controller body 102 may support a number of input mechanisms 110.For example, the controller body 102 may support a first input button112A and a second input button 112B (collectively referred to as “inputbuttons 112), an input thumbstick 114, and at least one input triggerbutton 116. The input mechanisms 110 may be positioned on the controllerbody 102 in locations to be manipulated by a user holding the handheldcontroller 100 by the handle 104. The handle 104 may be shaped and sizedfor grasping by the user. The handheld controller 100 may be in wired orwireless communication with a computing system, such as anartificial-reality computing system.

The multi-DOF sensor module 108 may include sensors for determiningposition, orientation, and/or movement information of the handheldcontroller 100. For example, the multi-DOF sensor module 108 may includeone or more accelerometers and one or more gyroscopes. In some examples,the multi-DOF sensor module 108 may be a 6DOF sensor module configuredto provide information (e.g., position, orientation, and/or movement)related to six degrees of freedom, namely: pitch; roll; yaw; forward andbackward; upward and downward; and leftward and rightward. Thesurrounding ring portion 106 may include tracking elements 118, such asinfrared light sources (e.g., infrared-emitting diodes), to furtherfacilitate tracking (e.g., optically tracking) the position and/ororientation of the handheld controller 100 in 3D space.

The handheld controller 100 may also include a mouse module 120. Themouse module 120 may be configured to interact with a surface todetermine a position thereof relative to a physical surface, as in aconventional computer mouse. For example, the mouse module 120 mayinclude a mouse sensor 122 (e.g., an optical mouse sensor, a rollersensor, etc.) for tracking movement of the mouse module 120 relative tothe physical surface. The mouse module 120 may also include a proximitysensor 124 for sensing when the mouse sensor 122 is near or against thephysical surface. For example, the proximity sensor 124 may include anoptical proximity sensor, a capacitive proximity sensor, a Hall effectsensor, a magnetic sensor, etc. In some embodiments, optionally, ascroll wheel 126 may be positioned on a side of the mouse module 120 ina location and orientation to be manipulated (e.g., rolled and/orclicked) by a finger (e.g., a thumb) of the user.

The mouse module 120 may also include a platform that is shaped andconfigured to rest against the physical surface when the mouse sensor122 is proximate to the physical surface. The platform 128 may includeat least one planar surface for resting against the physical surface. Insome examples, the platform 128 may be shaped, positioned, and sized tosupport at least a portion of the handheld controller 100 on thephysical surface, such as to maintain the mouse sensor 122 proximate tothe physical surface when the handheld controller 100 is not held by auser. For example, the handheld controller 100 may be placed on atabletop or other physical surface and supported thereon by the platform128 of the mouse module 120. As shown in FIG. 1, the platform 128 may beshaped and positioned to form a gap 130 between the platform 128 and thehandle 104, such that at least a portion of one or more of the user'sfingers may be positioned within the gap 130 when the handle 104 isgripped by the user.

A switch 132 may be configured to activate the mouse sensor 122 anddeactivate the multi-DOF sensor module 108 when the proximity sensor 124indicates that the mouse sensor 122 is proximate to (e.g., placedagainst) the physical surface. The switch 132 may also be configured todeactivate the mouse sensor 122 and activate the multi-DOF sensor module108 when the proximity sensor 124 indicates that the mouse sensor 122 isnot proximate to (e.g., removed from) the physical surface.

Accordingly, the handheld controller 100 may be switched between a mousemode in which the mouse sensor 122 is active and a multi-DOF mode inwhich the multi-DOF sensor module 108 is active by simply placing themouse module 120 against a physical surface or lifting the mouse module120 away from the physical surface. In the mouse mode, data from themouse sensor 122 may be utilized, such as in a 2D (e.g., productivity)computing environment to move a cursor or other object. In someexamples, one or more of the input mechanisms 110 (e.g., the inputbuttons 112) of the handheld controller 100 may be routed by the switch132 to a left-click and/or right-click input of the mouse module 120. Inthe multi-DOF mode, data from the multi-DOF sensor module 108 may beutilized, such as in a 3D (e.g., artificial-reality) computingenvironment.

In some embodiments, the user may manually trigger the switching betweenthe mouse mode and the multi-DOF mode, instead of or in addition to theproximity sensor 124 automatically changing the mode. For example, theuser may select either the mouse mode or the multi-DOF mode byperforming a specific interaction with one or more of the inputmechanisms 110, an interaction with the scroll wheel 126, or a selectionon a user interface (e.g., a computer screen, a head-mounted displayscreen, etc.). Thus, a user input that causes the switch 132 toalternate the handheld controller 100 between the multi-DOF mode and themouse mode may include a manipulation of at least one mechanical inputmechanism (e.g., one or more of the input mechanisms 110 or the scrollwheel 126), placement of the handheld controller 100 against a physicalsurface, and/or removal of the handheld controller 100 from a positionagainst the physical surface.

In some embodiments, the mouse module 120 may be removable from andreplaceable on the controller body 102. For example, the controller body102 and multi-DOF sensor module 108 may be independently operable foruse in a 3D computing environment with the mouse module 120 removed. Ifthe user desires to use the handheld controller 100 for both a 3Dcomputing environment and a 2D computing environment, or for only a 2Dcomputing environment, the mouse module 120 may be positioned on andoperably coupled to the controller body 102. The mouse module 120 may bephysically (removably or permanently) coupled to the controller body 102via one or more of a clip, magnet, compliant mechanism, bolt, screw,adhesive, etc.

Whether the mouse module 120 is permanently or removably coupled to thecontroller body 102, an electronic interface 134 may be used to operablycouple the mouse module 120 to the controller body 102. For example, theelectronic interface 134 may provide a wired or wireless connection tothe switch 132 and/or to the multi-DOF sensor module 108. The electronicinterface 134 may also electrically couple the mouse sensor 122 and/orthe proximity sensor 124 to a power source in the controller body 102,such as a battery or a wired power source. In some examples, theelectronic interface 134 may include a wireless communication modulethat may be configured to provide data from the mutli-DOF sensor module108 and/or from the mouse module 120 to at least one processor that isconfigured for controlling the 3D (e.g., artificial-reality) computingenvironment and/or the 2D computing environment.

FIG. 2 is a side view of a handheld controller 200 according to at leastone additional embodiment of the present disclosure. The handheldcontroller 200 of FIG. 2 may be similar to the handheld controller 100of FIG. 1 described above. For example, the handheld controller 200 mayinclude a controller body 202, a handle 204 and a surrounding ringportion 206 extending from the controller body 202, a multi-DOF sensormodule 208, input mechanisms 210 (e.g., input buttons 212, an inputthumbstick 214, an input trigger button 216, etc.), tracking elements218 (e.g., infrared light-emitting diodes) positioned in or on thesurrounding ring portion 206, and a mouse module 220 coupled to thecontroller body 202. The mouse module 220 may include a mouse sensor222, a proximity sensor 224, a scroll wheel 226, and a platform 228. Agap 230 may be formed between the platform 228 and the handle 204. Aswitch 232 may be configured for alternating the handheld controller 200between a mouse mode and a multi-DOF mode, such as in response to asignal from the proximity sensor 224. An electronic interface 234 mayoperably couple the mouse module 220 to the controller body 202.

In the example shown in FIG. 2, the surrounding ring portion 206 mayextend and pass around a side of the controller body 202 opposite fromthe input buttons 212 and input thumbstick 214, rather than on a sameside as the input buttons 212 and input thumbstick 214 (as shown in theembodiment of FIG. 1). The mouse module 220 may be positioned in thislocation on the controller body 202 to enable the handheld controller200 to be held at a comfortable angle when the mouse module 220 is usedagainst a physical surface.

FIG. 3 is a perspective view of a handheld controller 300 being held bya user's hand 336, according to at least one embodiment of the presentdisclosure. The handheld controller 300 may be similar to the handheldcontrollers 100 and 200 described above with reference to FIGS. 1 and 2.For example, the handheld controller 300 may include a controller body302, a handle 304 for grasping by the user's hand 336, a surroundingring portion 306, a multi-DOF sensor module 308, input mechanisms 310,tracking elements 318, and a mouse module 320 coupled to the controllerbody 302. The mouse module 320 may include a mouse sensor 322, aproximity sensor 324, a scroll wheel (not shown in the perspective ofFIG. 3), a platform 328 for resting the mouse module 320 against aphysical surface, and a gap 330 between the platform 328 and the handle304.

As shown in FIG. 3, the gap 330 may be sized and shaped such that atleast a portion of one or more fingers 338 of the user's hand 336 may bepositioned within the gap 330. The platform 328 may, in some examples,include at least one planar surface for resting against the physicalsurface. As illustrated in FIG. 3, the platform 328 may have anon-linear shape within the plane of the planar surface, such as curved.The curved (or other non-linear) shape may be configured to provide astable foundation for supporting the handheld controller 300 when placedagainst the physical surface, such as for use in a mouse mode. Forexample, when the handheld controller 300 is not held by a user, theplatform 328 may support the handheld controller on the physicalsurface, with the mouse sensor 322 of the mouse module 320 maintainedproximate to the physical surface. As further illustrated in FIG. 3, themouse module 320 may be shaped, sized, and coupled to the controllerbody 302 in a fashion that does not interfere with use of the handheldcontroller 300 in a multi-DOF mode, while still enabling effective andcomfortable use in the mouse mode.

FIG. 4 illustrates a space 400 in which a user 402 is using a handheldcontroller 404 according to the present disclosure in a 3D computerenvironment. Any of the handheld controllers 100, 200, 300 (e.g., havinga mouse module) described above may be employed as the handheldcontroller 404. By way of example, the user 402 may hold the handheldcontroller 404 in a right hand, assuming the user is right-handed. Inthe other hand, another handheld controller 406, which may lack a mousemodule, may be held. 3D visual content may be displayed to the user 402on a head-mounted display 408 worn by the user 402. At least onemulti-DOF sensor module of the handheld controllers 404, 406 may enablethe user 402 to use the handheld controllers 404, 406 in space tointeract with the 3D computer environment, such as to manipulate digitalobjects, make virtual selections, etc.

FIG. 5 illustrates a space 500 in which a user 502 is using a handheldcontroller 504 according to the present disclosure in a 2D computerenvironment. As described above, the user may place the handheldcontroller 504, which may include a mouse module, against a physicalsurface 506, such as a tabletop. In response, the handheld controller504 may switch from a multi-DOF mode to a mouse mode. In the mouse mode,the user 502 may use the handheld controller 504 like a conventionalcomputer mouse to interact with the 2D computer environment. 2D visualcontent may be displayed on, for example, a computer monitor 508 and/ora head-mounted display 510 worn by the user 502. When the user 502desires to use the handheld controller 504 in a 3D computer environment,the user 502 may lift the handheld controller 504 off of the physicalsurface 506, and the handheld controller 504 may automatically switch toa multi-DOF mode. As noted above, alternatively, the user may make aselection (e.g., in a graphical user interface or by manipulating aninput mechanism of the handheld controller 504 or of the head-mounteddisplay 510, etc.) to switch between the multi-DOF mode and the mousemode.

FIG. 6 is a flow diagram illustrating a method 600 of receiving userinputs in a computer environment (e.g., a 3D computer environment and/ora 2D computer environment), according to at least one embodiment of thepresent disclosure. At operation 610, data from a multi-DOF sensormodule of a handheld controller may be received, such as to sense aposition and a rotation (e.g., orientation) of the handheld controller.Operation 610 may be performed in a variety of ways. For example, themulti-DOF sensor module may include one or more accelerometers and/orgyroscopes that may generate data for sensing the position and/orrotation of the handheld controller. Such data may be transmitted to atleast one processor, such as a processor configured to make computationsfor generating, manipulating, and/or interacting with a 3D computingenvironment (e.g., an artificial-reality environment).

At operation 620, a signal from a proximity sensor of the handheldcontroller may be received. Operation 620 may be performed in a varietyof ways. For example, the proximity sensor may be positioned on a mousemodule coupled to a controller body of the handheld controller. Thesignal received from the proximity sensor may indicate that the handheldcontroller is proximate to (e.g., against) a physical surface, such as atabletop.

At operation 630, in response to receiving the signal from the proximitysensor, a multi-DOF sensor module may be deactivated and a mouse modulemay be activated. Operation 630 may be performed in a variety of ways.For example, upon receiving the signal from the proximity sensorindicating that the mouse module is proximate to or against a physicalsurface, a switch may deactivate the multi-DOF sensor module and mayactivate the mouse module for use in a 2D computing environment (e.g., aproductivity environment). In some embodiments, a button signal from abutton of the multi-DOF sensor module may be routed to a mouse clickinput of the mouse module.

At operation 640, data from a mouse sensor of the mouse module may bereceived to sense movement of the handheld controller relative to thephysical surface. Operation 640 may be performed in a variety of ways.For example, after the mouse module is activated by the switch, themouse module may generate data regarding a position and/or movement ofthe handheld controller relative to the physical surface. The data maybe transmitted to a processor, such as a processor configured to makecomputations for generating, manipulating, and/or interacting with a 2Dcomputing environment (e.g., a productivity environment). In someexamples, the 2D computing environment may be embedded within a 3Dcomputing environment, such as in a productivity application of anartificial-reality system.

In some embodiments, another signal from the proximity sensor,indicating that the handheld controller has been removed from itsposition proximate to the physical surface, may be received. In responseto receiving this other signal, the mouse module may be deactivated andthe multi-DOF sensor module may be activated. At this point, thehandheld controller may again be used in a 3D computing environmentusing data from the multi-DOF sensor.

In some examples, the switching between a multi-DOF mode and a mousemode may occur after a predetermined time (e.g., 0.5 seconds, 1 second,2 seconds, etc.) from receiving the corresponding signal from theproximity sensor. Thus, lifting the handheld controller from a physicalsurface may not immediately deactivate the mouse module and activate themulti-DOF sensor module. Rather, the handheld controller may be liftedto reposition the mouse module on the physical surface, such as to movea cursor across a screen in multiple separate dragging movements, aswith a typical computer mouse, without deactivating the mouse module andactivating the multi-DOF sensor module. In some embodiments, thepredetermined time for making the switch between the multi-DOF mode andthe mouse mode may be configurable by the user. In some examples,placing the handheld controller against a physical surface may result insubstantially immediate activation of the mouse module, while liftingthe handheld controller from the physical surface may result inactivation of the multi-DOF mode after the predetermined time.

Accordingly, handheld controllers for use in 3D computing environmentsof the present disclosure may include a mouse module that can be used ina 2D computing environment. The handheld controller may be configured toautomatically or manually switch between use in a 3D computingenvironment and use in a 2D computing environment, for simple andintuitive use in the two different computing environments. Thus,embodiments of the present disclosure may be employed to facilitate theuse of a single handheld controller in both 3D and 2D computingenvironments.

As noted above, embodiments of the present disclosure may include or beimplemented in conjunction with various types of artificial-realitysystems. Artificial-reality content may include video, audio, hapticfeedback, or some combination thereof, any of which may be presented ina single channel or in multiple channels (such as stereo video thatproduces a 3D effect to the viewer). Additionally, in some embodiments,artificial reality may also be associated with applications, products,accessories, services, or some combination thereof, that are used to,e.g., create content in an artificial reality and/or are otherwise usedin (e.g., to perform activities in) an artificial reality.

Artificial-reality systems may be implemented in a variety of differentform factors and configurations. Some artificial-reality systems may bedesigned to work without near-eye displays (NEDs), an example of whichis augmented-reality system 700 in FIG. 7. Other artificial-realitysystems may include an NED that also provides visibility into the realworld (e.g., augmented-reality system 800 in FIG. 8) or that visuallyimmerses a user in an artificial reality (e.g., virtual-reality system900 in FIG. 9). While some artificial-reality devices may beself-contained systems, other artificial-reality devices may communicateand/or coordinate with external devices to provide an artificial-realityexperience to a user. Examples of such external devices include handheldcontrollers, mobile devices, desktop computers, devices worn by a user,devices worn by one or more other users, and/or any other suitableexternal system.

Turning to FIG. 7, the augmented-reality system 700 generally representsa wearable device dimensioned to fit about a body part (e.g., a head) ofa user. As shown in FIG. 7, the system 700 may include a frame 702 and acamera assembly 704 that is coupled to the frame 702 and configured togather information about a local environment by observing the localenvironment. The augmented-reality system 700 may also include one ormore audio devices, such as output audio transducers 708(A) and 708(B)and input audio transducers 710. The output audio transducers 708(A) and708(B) may provide audio feedback and/or content to a user, and theinput audio transducers 710 may capture audio in a user's environment.

As shown, the augmented-reality system 700 may not necessarily includean NED positioned in front of a user's eyes. Augmented-reality systemswithout NEDs may take a variety of forms, such as head bands, hats, hairbands, belts, watches, wrist bands, ankle bands, rings, neckbands,necklaces, chest bands, eyewear frames, and/or any other suitable typeor form of apparatus. While the augmented-reality system 700 may notinclude an NED, augmented-reality system 700 may include other types ofscreens or visual feedback devices (e.g., a display screen integratedinto a side of the frame 702).

The embodiments discussed in this disclosure may also be implemented inaugmented-reality systems that include one or more NEDs. For example, asshown in FIG. 8, the augmented-reality system 800 may include an eyeweardevice 802 with a frame 810 configured to hold a left display device815(A) and a right display device 815(B) in front of a user's eyes. Thedisplay devices 815(A) and 815(B) may act together or independently topresent an image or series of images to a user. While theaugmented-reality system 800 includes two displays, embodiments of thisdisclosure may be implemented in augmented-reality systems with a singleNED or more than two NEDs.

In some embodiments, the augmented-reality system 800 may include one ormore sensors, such as sensor 840. The sensor 840 may generatemeasurement signals in response to motion of the augmented-realitysystem 800 and may be located on substantially any portion of the frame810. The sensor 840 may represent a position sensor, an inertialmeasurement unit (IMU), a depth camera assembly, or any combinationthereof. In some embodiments, the augmented-reality system 800 may ormay not include the sensor 840 or may include more than one sensor. Inembodiments in which the sensor 840 includes an IMU, the IMU maygenerate calibration data based on measurement signals from the sensor840. Examples of the sensor 840 may include, without limitation,accelerometers, gyroscopes, magnetometers, other suitable types ofsensors that detect motion, sensors used for error correction of theIMU, or some combination thereof.

The augmented-reality system 800 may also include a microphone arraywith a plurality of acoustic transducers 820(A)-820(J), referred tocollectively as acoustic transducers 820. The acoustic transducers 820may be transducers that detect air pressure variations induced by soundwaves. Each acoustic transducer 820 may be configured to detect soundand convert the detected sound into an electronic format (e.g., ananalog or digital format). The microphone array in FIG. 8 may include,for example, ten acoustic transducers: 820(A) and 820(B), which may bedesigned to be placed inside a corresponding ear of the user, acoustictransducers 820(C), 820(D), 820(E), 820(F), 820(G), and 820(H), whichmay be positioned at various locations on the frame 810, and/or acoustictransducers 820(1) and 820(J), which may be positioned on acorresponding neckband 805.

In some embodiments, one or more of the acoustic transducers 820(A)-(F)may be used as output transducers (e.g., speakers). For example, theacoustic transducers 820(A) and/or 820(B) may be earbuds or any othersuitable type of headphone or speaker.

The configuration of the acoustic transducers 820 of the microphonearray may vary. While the augmented-reality system 800 is shown in FIG.8 as having ten acoustic transducers 820, the number of acoustictransducers 820 may be greater or less than ten. In some embodiments,using higher numbers of acoustic transducers 820 may increase the amountof audio information collected and/or the sensitivity and accuracy ofthe audio information. In contrast, using a lower number of acoustictransducers 820 may decrease the computing power required by anassociated controller 850 to process the collected audio information. Inaddition, the position of each acoustic transducer 820 of the microphonearray may vary. For example, the position of an acoustic transducer 820may include a defined position on the user, a defined coordinate on theframe 810, an orientation associated with each acoustic transducer 820,or some combination thereof.

The acoustic transducers 820(A) and 820(B) may be positioned ondifferent parts of the user's ear, such as behind the pinna or withinthe auricle or fossa. Or, there may be additional acoustic transducers820 on or surrounding the ear in addition to the acoustic transducers820 inside the ear canal. Having an acoustic transducer 820 positionednext to an ear canal of a user may enable the microphone array tocollect information on how sounds arrive at the ear canal. Bypositioning at least two of the acoustic transducers 820 on either sideof a user's head (e.g., as binaural microphones), the augmented-realitydevice 800 may simulate binaural hearing and capture a 3D stereo soundfield around about a user's head. In some embodiments, the acoustictransducers 820(A) and 820(B) may be connected to the augmented-realitysystem 800 via a wired connection 830, and in other embodiments, theacoustic transducers 820(A) and 820(B) may be connected to theaugmented-reality system 800 via a wireless connection (e.g., aBluetooth connection). In still other embodiments, the acoustictransducers 820(A) and 820(B) may not be used at all in conjunction withthe augmented-reality system 800.

The acoustic transducers 820 on the frame 810 may be positioned alongthe length of the temples, across the bridge, above or below the displaydevices 815(A) and 815(B), or some combination thereof. The acoustictransducers 820 may be oriented such that the microphone array is ableto detect sounds in a wide range of directions surrounding the userwearing the augmented-reality system 800. In some embodiments, anoptimization process may be performed during manufacturing of theaugmented-reality system 800 to determine relative positioning of eachacoustic transducer 820 in the microphone array.

In some examples, the augmented-reality system 800 may include or beconnected to an external device (e.g., a paired device), such as theneckband 805. The neckband 805 generally represents any type or form ofpaired device. Thus, the following discussion of the neckband 805 mayalso apply to various other paired devices, such as charging cases,smart watches, smart phones, wrist bands, other wearable devices,hand-held controllers, tablet computers, laptop computers and otherexternal compute devices, etc.

As shown, the neckband 805 may be coupled to the eyewear device 802 viaone or more connectors. The connectors may be wired or wireless and mayinclude electrical and/or non-electrical (e.g., structural) components.In some cases, the eyewear device 802 and the neckband 805 may operateindependently without any wired or wireless connection between them.While FIG. 8 illustrates the components of the eyewear device 802 andthe neckband 805 in example locations on the eyewear device 802 and theneckband 805, the components may be located elsewhere and/or distributeddifferently on the eyewear device 802 and/or the neckband 805. In someembodiments, the components of the eyewear device 802 and the neckband805 may be located on one or more additional peripheral devices pairedwith the eyewear device 802, the neckband 805, or some combinationthereof.

Pairing external devices, such as the neckband 805, withaugmented-reality eyewear devices may enable the eyewear devices toachieve the form factor of a pair of glasses while still providingsufficient battery and computation power for expanded capabilities. Someor all of the battery power, computational resources, and/or additionalfeatures of the augmented-reality system 800 may be provided by a paireddevice or shared between a paired device and an eyewear device, thusreducing the weight, heat profile, and form factor of the eyewear deviceoverall while still retaining desired functionality. For example, theneckband 805 may allow components that would otherwise be included on aneyewear device to be included in the neckband 805 since users maytolerate a heavier weight load on their shoulders than they wouldtolerate on their heads. The neckband 805 may also have a larger surfacearea over which to diffuse and disperse heat to the ambient environment.Thus, the neckband 805 may allow for greater battery and computationcapacity than might otherwise have been possible on a standalone eyeweardevice. Since weight carried in the neckband 805 may be less invasive toa user than weight carried in the eyewear device 802, a user maytolerate wearing a lighter eyewear device and carrying or wearing thepaired device for greater lengths of time than a user would toleratewearing a heavy standalone eyewear device, thereby enabling users tomore fully incorporate artificial-reality environments into theirday-to-day activities.

The neckband 805 may be communicatively coupled with the eyewear device802 and/or to other devices. These other devices may provide certainfunctions (e.g., tracking, localizing, depth mapping, processing,storage, etc.) to the augmented-reality system 800. In the embodiment ofFIG. 8, the neckband 805 may include two acoustic transducers (e.g.,820(1) and 820(J)) that are part of the microphone array (or potentiallyform their own microphone subarray). The neckband 805 may also include acontroller 825 and a power source 835.

The acoustic transducers 820(1) and 820(J) of the neckband 805 may beconfigured to detect sound and convert the detected sound into anelectronic format (analog or digital). In the embodiment of FIG. 8, theacoustic transducers 820(1) and 820(J) may be positioned on the neckband805, thereby increasing the distance between the neckband acoustictransducers 820(1) and 820(J) and other acoustic transducers 820positioned on the eyewear device 802. In some cases, increasing thedistance between the acoustic transducers 820 of the microphone arraymay improve the accuracy of beamforming performed via the microphonearray. For example, if a sound is detected by the acoustic transducers820(C) and 820(D) and the distance between the acoustic transducers820(C) and 820(D) is greater than, e.g., the distance between theacoustic transducers 820(D) and 820(E), the determined source locationof the detected sound may be more accurate than if the sound had beendetected by the acoustic transducers 820(D) and 820(E).

The controller 825 of the neckband 805 may process information generatedby the sensors on the neckband 805 and/or the augmented-reality system800. For example, the controller 825 may process information from themicrophone array that describes sounds detected by the microphone array.For each detected sound, the controller 825 may perform adirection-of-arrival (DOA) estimation to estimate a direction from whichthe detected sound arrived at the microphone array. As the microphonearray detects sounds, the controller 825 may populate an audio data setwith the information. In embodiments in which the augmented-realitysystem 800 includes an inertial measurement unit, the controller 825 maycompute all inertial and spatial calculations from the IMU located onthe eyewear device 802. A connector may convey information between theaugmented-reality system 800 and the neckband 805 and between theaugmented-reality system 800 and the controller 825. The information maybe in the form of optical data, electrical data, wireless data, or anyother transmittable data form. Moving the processing of informationgenerated by the augmented-reality system 800 to the neckband 805 mayreduce weight and heat in the eyewear device 802, making it morecomfortable to the user.

The power source 835 in the neckband 805 may provide power to theeyewear device 802 and/or to the neckband 805. The power source 835 mayinclude, without limitation, lithium ion batteries, lithium-polymerbatteries, primary lithium batteries, alkaline batteries, or any otherform of power storage. In some cases, the power source 835 may be awired power source. Including the power source 835 on the neckband 805instead of on the eyewear device 802 may help better distribute theweight and heat generated by the power source 835.

As noted, some artificial-reality systems may, instead of blending anartificial reality with actual reality, substantially replace one ormore of a user's sensory perceptions of the real world with a virtualexperience. One example of this type of system is a head-worn displaysystem, such as the virtual-reality system 900 in FIG. 9, that mostly orcompletely covers a user's field of view. The virtual-reality system 900may include a front rigid body 902 and a band 904 shaped to fit around auser's head. The virtual-reality system 900 may also include outputaudio transducers 906(A) and 906(B). Furthermore, while not shown inFIG. 9, the front rigid body 902 may include one or more electronicelements, including one or more electronic displays, one or moreinertial measurement units (IMUS), one or more tracking emitters ordetectors, and/or any other suitable device or system for creating anartificial reality experience.

Artificial-reality systems may include a variety of types of visualfeedback mechanisms. For example, display devices in theaugmented-reality system 800 and/or the virtual-reality system 900 mayinclude one or more liquid crystal displays (LCDs), light-emitting diode(LED) displays, organic LED (OLED) displays, and/or any other suitabletype of display screen. Artificial-reality systems may include a singledisplay screen for both eyes or may provide a display screen for eacheye, which may allow for additional flexibility for varifocaladjustments or for correcting a user's refractive error. Someartificial-reality systems may also include optical subsystems havingone or more lenses (e.g., conventional concave or convex lenses, Fresnellenses, adjustable liquid lenses, etc.) through which a user may view adisplay screen.

In addition to or instead of using display screens, someartificial-reality systems may include one or more projection systems.For example, display devices in the augmented-reality system 800 and/orthe virtual-reality system 900 may include micro-LED projectors thatproject light (using, e.g., a waveguide) into display devices, such asclear combiner lenses that allow ambient light to pass through. Thedisplay devices may refract the projected light toward a user's pupiland may enable a user to simultaneously view both artificial-realitycontent and the real world. Artificial-reality systems may also beconfigured with any other suitable type or form of image projectionsystem.

Artificial-reality systems may also include various types of computervision components and subsystems. For example, the augmented-realitysystem 700, the augmented-reality system 800, and/or the virtual-realitysystem 900 may include one or more optical sensors, such as 2D or 3Dcameras, time-of-flight depth sensors, single-beam or sweeping laserrangefinders, 3D LiDAR sensors, and/or any other suitable type or formof optical sensor. An artificial-reality system may process data fromone or more of these sensors to identify a location of a user, to mapthe real world, to provide a user with context about real-worldsurroundings, and/or to perform a variety of other functions.

Artificial-reality systems may also include one or more input and/oroutput audio transducers. In the examples shown in FIGS. 7 and 9, theoutput audio transducers 708(A), 708(B), 906(A), and 906(B) may includevoice coil speakers, ribbon speakers, electrostatic speakers,piezoelectric speakers, bone conduction transducers, cartilageconduction transducers, and/or any other suitable type or form of audiotransducer. Similarly, the input audio transducers 710 may includecondenser microphones, dynamic microphones, ribbon microphones, and/orany other type or form of input transducer. In some embodiments, asingle transducer may be used for both audio input and audio output.

While not shown in FIGS. 7-9, artificial-reality systems may includetactile (i.e., haptic) feedback systems, which may be incorporated intoheadwear, gloves, body suits, handheld controllers, environmentaldevices (e.g., chairs, floormats, etc.), and/or any other type of deviceor system. Haptic feedback systems may provide various types ofcutaneous feedback, including vibration, force, traction, texture,and/or temperature. Haptic feedback systems may also provide varioustypes of kinesthetic feedback, such as motion and compliance. Hapticfeedback may be implemented using motors, piezoelectric actuators,fluidic systems, and/or a variety of other types of feedback mechanisms.Haptic feedback systems may be implemented independent of otherartificial-reality devices, within other artificial-reality devices,and/or in conjunction with other artificial-reality devices.

By providing haptic sensations, audible content, and/or visual content,artificial-reality systems may create an entire virtual experience orenhance a user's real-world experience in a variety of contexts andenvironments. For instance, artificial-reality systems may assist orextend a user's perception, memory, or cognition within a particularenvironment. Some systems may enhance a user's interactions with otherpeople in the real world or may enable more immersive interactions withother people in a virtual world. Artificial-reality systems may also beused for educational purposes (e.g., for teaching or training inschools, hospitals, government organizations, military organizations,business enterprises, etc.), entertainment purposes (e.g., for playingvideo games, listening to music, watching video content, etc.), and/orfor accessibility purposes (e.g., as hearing aids, visuals aids, etc.).The embodiments disclosed herein may enable or enhance a user'sartificial-reality experience in one or more of these contexts andenvironments and/or in other contexts and environments.

As noted, the artificial-reality systems 700, 800, and 900 may be usedwith a variety of other types of devices to provide a more compellingartificial-reality experience. These devices may be haptic interfaceswith transducers that provide haptic feedback and/or that collect hapticinformation about a user's interaction with an environment. Theartificial-reality systems disclosed herein may include various types ofhaptic interfaces that detect or convey various types of hapticinformation, including tactile feedback (e.g., feedback that a userdetects via nerves in the skin, which may also be referred to ascutaneous feedback) and/or kinesthetic feedback (e.g., feedback that auser detects via receptors located in muscles, joints, and/or tendons).

Haptic feedback may be provided by interfaces positioned within a user'senvironment (e.g., chairs, tables, floors, etc.) and/or interfaces onarticles that may be worn or carried by a user (e.g., gloves,wristbands, etc.). As an example, FIG. 10 illustrates a vibrotactilesystem 1000 in the form of a wearable glove (haptic device 1010) andwristband (haptic device 1020). The haptic device 1010 and the hapticdevice 1020 are shown as examples of wearable devices that include aflexible, wearable textile material 1030 that is shaped and configuredfor positioning against a user's hand and wrist, respectively. Thisdisclosure also includes vibrotactile systems that may be shaped andconfigured for positioning against other human body parts, such as afinger, an arm, a head, a torso, a foot, or a leg. By way of example andnot limitation, vibrotactile systems according to various embodiments ofthe present disclosure may also be in the form of a glove, a headband,an armband, a sleeve, a head covering, a sock, a shirt, or pants, amongother possibilities. In some examples, the term “textile” may includeany flexible, wearable material, including woven fabric, non-wovenfabric, leather, cloth, a flexible polymer material, compositematerials, etc.

One or more vibrotactile devices 1040 may be positioned at leastpartially within one or more corresponding pockets formed in the textilematerial 1030 of the vibrotactile system 1000. The vibrotactile devices1040 may be positioned in locations to provide a vibrating sensation(e.g., haptic feedback) to a user of the vibrotactile system 1000. Forexample, the vibrotactile devices 1040 may be positioned to be againstthe user's finger(s), thumb, or wrist, as shown in FIG. 10. Thevibrotactile devices 1040 may, in some examples, be sufficientlyflexible to conform to or bend with the user's corresponding bodypart(s).

A power source 1050 (e.g., a battery) for applying a voltage to thevibrotactile devices 1040 for activation thereof may be electricallycoupled to the vibrotactile devices 1040, such as via conductive wiring1052. In some examples, each of the vibrotactile devices 1040 may beindependently electrically coupled to the power source 1050 forindividual activation. In some embodiments, a processor 1060 may beoperatively coupled to the power source 1050 and configured (e.g.,programmed) to control activation of the vibrotactile devices 1040.

The vibrotactile system 1000 may be implemented in a variety of ways. Insome examples, the vibrotactile system 1000 may be a standalone systemwith integral subsystems and components for operation independent ofother devices and systems. As another example, the vibrotactile system1000 may be configured for interaction with another device or system1070. For example, the vibrotactile system 1000 may, in some examples,include a communications interface 1080 for receiving and/or sendingsignals to the other device or system 1070. The other device or system1070 may be a mobile device, a gaming console, an artificial-reality(e.g., virtual-reality, augmented-reality, mixed-reality) device, apersonal computer, a tablet computer, a network device (e.g., a modem, arouter, etc.), a handheld controller, etc. The communications interface1080 may enable communications between the vibrotactile system 1000 andthe other device or system 1070 via a wireless (e.g., Wi-Fi, Bluetooth,cellular, radio, etc.) link or a wired link. If present, thecommunications interface 1080 may be in communication with the processor1060, such as to provide a signal to the processor 1060 to activate ordeactivate one or more of the vibrotactile devices 1040.

The vibrotactile system 1000 may optionally include other subsystems andcomponents, such as touch-sensitive pads 1090, pressure sensors, motionsensors, position sensors, lighting elements, and/or user interfaceelements (e.g., an on/off button, a vibration control element, etc.).During use, the vibrotactile devices 1040 may be configured to beactivated for a variety of different reasons, such as in response to theuser's interaction with user interface elements, a signal from themotion or position sensors, a signal from the touch-sensitive pads 1090,a signal from the pressure sensors, a signal from the other device orsystem 1070, etc.

Although the power source 1050, the processor 1060, and thecommunications interface 1080 are illustrated in FIG. 10 as beingpositioned in the haptic device 1020, the present disclosure is not solimited. For example, one or more of the power source 1050, theprocessor 1060, or the communications interface 1080 may be positionedwithin the haptic device 1010 or within another wearable textile.

Haptic wearables, such as those shown in and described in connectionwith FIG. 10, may be implemented in a variety of types ofartificial-reality systems and environments. FIG. 11 shows an exampleartificial-reality environment 1100 including one head-mountedvirtual-reality display and two haptic devices (i.e., gloves), and inother embodiments any number and/or combination of these components andother components may be included in an artificial-reality system. Forexample, in some embodiments there may be multiple head-mounted displayseach having an associated haptic device, with each head-mounted displayand each haptic device communicating with the same console, portablecomputing device, or other computing system.

Head-mounted display 1102 generally represents any type or form ofvirtual-reality system, such as the virtual-reality system 900 in FIG.9. Haptic device 1104 generally represents any type or form of wearabledevice, worn by a use of an artificial-reality system, that provideshaptic feedback to the user to give the user the perception that he orshe is physically engaging with a virtual object. In some embodiments,the haptic device 1104 may provide haptic feedback by applyingvibration, motion, and/or force to the user. For example, the hapticdevice 1104 may limit or augment a user's movement. To give a specificexample, the haptic device 1104 may limit a user's hand from movingforward so that the user has the perception that his or her hand hascome in physical contact with a virtual wall. In this specific example,one or more actuators within the haptic advice may achieve thephysical-movement restriction by pumping fluid into an inflatablebladder of the haptic device. In some examples, a user may also use thehaptic device 1104 to send action requests to a console. Examples ofaction requests include, without limitation, requests to start anapplication and/or end the application and/or requests to perform aparticular action within the application.

While haptic interfaces may be used with virtual-reality systems, asshown in FIG. 11, haptic interfaces may also be used withaugmented-reality systems, as shown in FIG. 12. FIG. 12 is a perspectiveview a user 1210 interacting with an augmented-reality system 1200. Inthis example, the user 1210 may wear a pair of augmented-reality glasses1220 that have one or more displays 1222 and that are paired with ahaptic device 1230. The haptic device 1230 may be a wristband thatincludes a plurality of band elements 1232 and a tensioning mechanism1234 that connects band elements 1232 to one another.

One or more of the band elements 1232 may include any type or form ofactuator suitable for providing haptic feedback. For example, one ormore of the band elements 1232 may be configured to provide one or moreof various types of cutaneous feedback, including vibration, force,traction, texture, and/or temperature. To provide such feedback, theband elements 1232 may include one or more of various types ofactuators. In one example, each of the band elements 1232 may include avibrotactor (e.g., a vibrotactile actuator) configured to vibrate inunison or independently to provide one or more of various types ofhaptic sensations to a user. Alternatively, only a single band elementor a subset of band elements may include vibrotactors.

The haptic devices 1010, 1020, 1104, and 1230 may include any suitablenumber and/or type of haptic transducer, sensor, and/or feedbackmechanism. For example, the haptic devices 1010, 1020, 1104, and 1230may include one or more mechanical transducers, piezoelectrictransducers, and/or fluidic transducers. The haptic devices 1010, 1020,1104, and 1230 may also include various combinations of different typesand forms of transducers that work together or independently to enhancea user's artificial-reality experience. In one example, each of the bandelements 1232 of the haptic device 1230 may include a vibrotactor (e.g.,a vibrotactile actuator) configured to vibrate in unison orindependently to provide one or more of various types of hapticsensations to a user.

By way of non-limiting examples, the following embodiments are includedin the present disclosure.

Example 1: A handheld controller, which may include: a multi-degree offreedom sensor module configured for sensing a position and orientationof the handheld controller; a mouse module, including: a mouse sensorconfigured for sensing a movement of the handheld controller relative toa physical surface; and a proximity sensor configured for sensing whenthe mouse sensor is proximate to the physical surface; and a switchconfigured to activate the mouse sensor and deactivate the multi-degreeof freedom sensor module when the proximity sensor indicates that themouse sensor is proximate to the physical surface and to deactivate themouse sensor and activate the multi-degree of freedom sensor module whenthe proximity sensor indicates that the mouse sensor is not proximate tothe physical surface.

Example 2: The handheld controller of Example 1, further including: atleast a first button and a second button configured as user inputs whenthe multi-degree of freedom sensor module is activated, wherein theswitch is further configured to route button signals from the firstbutton and the second button to left-click and right-click inputs of themouse module when the mouse sensor is activated.

Example 3: The handheld controller of Example 1 or Example 2, furtherincluding a handle shaped and sized for gripping the handheldcontroller.

Example 4: The handheld controller of Example 3, wherein the mousemodule is removable and replaceable relative to the handle.

Example 5: The handheld controller of Example 4, further including anelectronics interface configured for forming a communication connectionbetween the mouse module and the multi-degree of freedom sensor module.

Example 6: The handheld controller of any of Examples 3 through 5,wherein the mouse module further includes a platform shaped andconfigured to rest against the physical surface when the mouse sensor isproximate to the physical surface.

Example 7: The handheld controller of Example 6, wherein the platform isshaped, positioned, and sized to support at least a portion of thehandheld controller on the physical surface and to maintain the mousesensor proximate to the physical surface when the handheld controller isnot held by a user.

Example 8: The handheld controller of Example 6 or Example 7, whereinthe platform is shaped and positioned to form a gap between the platformand the handle, such that at least a portion of one or more of a user'sfingers are positioned within the gap when the handle is gripped by theuser.

Example 9: The handheld controller of any of Examples 6 through 8,wherein the platform includes at least one planar surface positioned torest against the physical surface when the mouse sensor is activated.

Example 10: The handheld controller of any of Examples 1 through 9,wherein the mouse module further includes a scroll wheel positioned tobe manipulated by a thumb of a user when the handheld controller is heldby the user.

Example 11: An artificial-reality controller, which may include: amulti-degree of freedom sensor module configured for sensing a positionand orientation of the artificial-reality controller for use in athree-dimensional artificial-reality environment; a mouse modulecomprising a mouse sensor configured for sensing movement of theartificial-reality controller relative to a physical surface for use ina two-dimensional computing environment; and a switch configured toalternate the artificial-reality controller between a multi-degree offreedom mode that utilizes data from the multi-degree of freedom sensormodule and a mouse mode that utilizes data from the mouse module.

Example 12: The artificial-reality controller of Example 11, wherein theswitch is configured to alternate the artificial-reality controllerbetween the multi-degree of freedom mode and the mouse mode in responseto a user input.

Example 13: The artificial-reality controller of Example 12, wherein theuser input includes at least one of: manipulation of a mechanical inputmechanism by a user; placement of the artificial-reality controlleragainst a physical surface; or removal of the artificial-realitycontroller from a position against the physical surface.

Example 14: The artificial-reality controller of any of Examples 11through 13, wherein the mouse module further includes a proximity sensorand the switch is configured to alternate between the multi-degree offreedom mode and the mouse mode in response to a signal from theproximity sensor.

Example 15: The artificial-reality controller of Example 14, wherein theproximity sensor includes an optical proximity sensor.

Example 16: The artificial-reality controller of any of Examples 11through 15, wherein the mouse sensor includes an optical mouse sensor.

Example 17: The artificial-reality controller of any of Examples 11through 16, further including a wireless communication module configuredto provide data from the multi-degree of freedom sensor module and fromthe mouse module to at least one processor configured for controllingthe three-dimensional artificial-reality environment and thetwo-dimensional computing environment.

Example 18: A method of receiving user inputs in a computer environment,in which the method may include: receiving data from a multi-degree offreedom sensor module of a handheld controller to sense a position andorientation of the handheld controller; receiving a signal from aproximity sensor indicating that the handheld controller is proximate toa physical surface; in response to receiving the signal from theproximity sensor, deactivating the multi-degree of freedom sensor moduleand activating a mouse module; and in response to the activation of themouse module, receiving data from a mouse sensor of the mouse module tosense movement of the handheld controller relative to the physicalsurface.

Example 19: The method of Example 18, further including: receivinganother signal from the proximity sensor, indicating that the handheldcontroller has been removed from its position proximate to the physicalsurface; and in response to receiving the other signal from theproximity sensor, deactivating the mouse module and activating themulti-degree of freedom sensor module.

Example 20: The method of Example 18 or Example 19, further including,in response to the activation of the mouse module, routing a buttonsignal from a button of the multi-degree of freedom sensor module to amouse click input of the mouse module.

The process parameters and sequence of the steps described and/orillustrated herein are given by way of example only and can be varied asdesired. For example, while the steps illustrated and/or describedherein may be shown or discussed in a particular order, these steps donot necessarily need to be performed in the order illustrated ordiscussed. The various example methods described and/or illustratedherein may also omit one or more of the steps described or illustratedherein or include additional steps in addition to those disclosed.

The preceding description has been provided to enable others skilled inthe art to best utilize various aspects of the example embodimentsdisclosed herein. This example description is not intended to beexhaustive or to be limited to any precise form disclosed. Manymodifications and variations are possible without departing from thespirit and scope of the present disclosure. The embodiments disclosedherein should be considered in all respects illustrative and notrestrictive. Reference should be made to the appended claims and theirequivalents in determining the scope of the present disclosure.

Unless otherwise noted, the terms “connected to” and “coupled to” (andtheir derivatives), as used in the specification and claims, are to beconstrued as permitting both direct and indirect (i.e., via otherelements or components) connection. In addition, the terms “a” or “an,”as used in the specification and claims, are to be construed as meaning“at least one of.” Finally, for ease of use, the terms “including” and“having” (and their derivatives), as used in the specification andclaims, are interchangeable with and have the same meaning as the word“comprising.”

What is claimed is:
 1. A handheld controller, comprising: a handleshaped and sized for gripping the handheld controller; a multi-degree offreedom sensor module configured for sensing a position and orientationof the handheld controller; a mouse module, comprising: a mouse sensorconfigured for sensing a movement of the handheld controller relative toa physical surface; a proximity sensor configured for sensing when themouse sensor is proximate to the physical surface; and a platform shapedand configured to rest against the physical surface when the mousesensor is proximate to the physical surface, wherein the platform isshaped and positioned to form a gap directly between the platform andthe handle, such that at least a portion of one or more of a user'sfingers are positioned within the gap when the handle is gripped by theuser; and a switch configured to activate the mouse sensor anddeactivate the multi-degree of freedom sensor module when the proximitysensor indicates that the mouse sensor is proximate to the physicalsurface and to deactivate the mouse sensor and activate the multi-degreeof freedom sensor module when the proximity sensor indicates that themouse sensor is not proximate to the physical surface.
 2. The handheldcontroller of claim 1, further comprising: at least a first button and asecond button configured as user inputs when the multi-degree of freedomsensor module is activated, wherein the switch is further configured toroute button signals from the first button and the second button toleft-click and right-click inputs of the mouse module when the mousesensor is activated.
 3. The handheld controller of claim 1, wherein themouse module is removable and replaceable relative to the handle.
 4. Thehandheld controller of claim 3, further comprising an electronicsinterface configured for forming a communication connection between themouse module and the multi-degree of freedom sensor module.
 5. Thehandheld controller of claim 1, wherein the platform is shaped,positioned, and sized to support at least a portion of the handheldcontroller on the physical surface and to maintain the mouse sensorproximate to the physical surface when the handheld controller is notheld by a user.
 6. The handheld controller of claim 1, wherein theplatform comprises at least one planar surface positioned to restagainst the physical surface when the mouse sensor is activated.
 7. Thehandheld controller of claim 6, wherein the platform has a non-linearshape within the plane of the planar surface.
 8. The handheld controllerof claim 1, wherein the mouse module further comprises a scroll wheelpositioned to be manipulated by a thumb of a user when the handheldcontroller is held by the user.
 9. The handheld controller of claim 8,wherein the scroll wheel comprises a mechanical rotatable scroll wheel.10. The handheld controller of claim 1, further comprising an inputthumbstick positioned for manipulation by the user's thumb.
 11. Anartificial-reality controller, comprising: a handle shaped and sized forgripping by a user; a multi-degree of freedom sensor module configuredfor sensing a position and orientation of the artificial-realitycontroller for use in a three-dimensional artificial-realityenvironment; a mouse module comprising a mouse sensor configured forsensing movement of the artificial-reality controller relative to aphysical surface for use in a two-dimensional computing environment; anda switch configured to alternate the artificial-reality controllerbetween a multi-degree of freedom mode that utilizes data from themulti-degree of freedom sensor module and a mouse mode that utilizesdata from the mouse module, wherein the mouse module comprises aplatform shaped and configured to rest against the physical surface,wherein the platform is shaped and positioned to form a gap directlybetween the platform and the handle, such that at least a portion of oneor more of a user's fingers are positioned within the gap when thehandle is gripped by the user.
 12. The artificial-reality controller ofclaim 11, wherein the switch is configured to alternate theartificial-reality controller between the multi-degree of freedom modeand the mouse mode in response to a user input.
 13. Theartificial-reality controller of claim 12, wherein the user inputcomprises at least one of: manipulation of a mechanical input mechanismby the user; placement of the artificial-reality controller against aphysical surface; or removal of the artificial-reality controller from aposition against the physical surface.
 14. The artificial-realitycontroller of claim 11, wherein the mouse module further comprises aproximity sensor and the switch is configured to alternate between themulti-degree of freedom mode and the mouse mode in response to a signalfrom the proximity sensor.
 15. The artificial-reality controller ofclaim 14, wherein the proximity sensor comprises an optical proximitysensor.
 16. The artificial-reality controller of claim 11, wherein themouse sensor comprises an optical mouse sensor.
 17. Theartificial-reality controller of claim 11, further comprising a wirelesscommunication module configured to provide data from the multi-degree offreedom sensor module and from the mouse module to at least oneprocessor configured for controlling the three-dimensionalartificial-reality environment and the two-dimensional computingenvironment.
 18. A method of receiving user inputs in a computerenvironment, the method comprising: receiving data from a multi-degreeof freedom sensor module of a handheld controller to sense a positionand orientation of the handheld controller; receiving a signal from aproximity sensor indicating that the handheld controller is proximate toa physical surface; in response to receiving the signal from theproximity sensor, deactivating the multi-degree of freedom sensor moduleand activating a mouse module; and in response to the activation of themouse module, receiving data from a mouse sensor of the mouse module tosense movement of the handheld controller relative to the physicalsurface while a user grips a handle of the handheld controller andpositions at least one finger in a gap directly between a platform ofthe mouse module and the handle.
 19. The method of claim 18, furthercomprising: receiving another signal from the proximity sensor,indicating that the handheld controller has been removed from itsposition proximate to the physical surface; and in response to receivingthe other signal from the proximity sensor, deactivating the mousemodule and activating the multi-degree of freedom sensor module.
 20. Themethod of claim 18, further comprising, in response to the activation ofthe mouse module, routing a button signal from a button of themulti-degree of freedom sensor module to a mouse click input of themouse module.